Thema: Expanding Horizons

Security? Eine frage automatisierter Sicherheitstests!

Sicherheitstests für Anwendungen waren einfacher planbar, als Software noch auf CDs ausgeliefert wurde. Damals hatte ein manueller Tester ausreichend Zeit, die Software auf Herz und Nieren zu prüfen.

Bei Release-Zyklen welche teilweise wöchentliche oder tägliche Updates vorsehen, sind tiefgehende Sicherheitstests schwieriger durchzuführen. In diesem Vortrag wird anhand einer Entwicklungs-Toolchain gezeigt, wie sich Sicherheit in die agile Softwareentwicklung integrieren lässt.

Themen sind die Absicherung von verwendeten Bibliotheken, Docker Containern und der zu entwickelnden Software selbst.

Früher wurde Software auf CDs ausgeliefert. Hierbei war ein manueller Sicherheitstest ca. einmal im Jahr ausreichend und wirtschaftlich. Gerade bei Webanwendungen oder mobilen Apps haben wir nun so schnelle Release-Zyklen, dass dies nicht mehr kosteneffizient machbar ist.

Deshalb benötigt es neue Formen von Sicherheitstests gerade für die agile Softwareentwicklung. So wie Unittests eine Voraussetzung für qualitativ hochwertiger Software innerhalb agiler Entwicklungsprozesse sind, so ist automatisiertes Testen auf Sicherheitslücken notwendig um darüber hinaus sichere Software zu entwickeln. Beispielhaft wird eine Entwicklungspipeline vorgestellt, welche den Ansprüchen sicherer, agiler Softwarentwicklung gerecht wird.

Anhand dieser Entwicklungspipeline (voraussichtlich bestehend aus Versionsverwaltungssystem, Build-Server, QA-Gateway, Staging-System, Production-System), wird gezeigt, welche Sicherheitsmaßnahmen getroffen werden können und welche Sicherheitsprüfungen an welcher Stelle sinnvoll sind. Diese beinhalten unter Anderem:

  • Dependency Checks im Versionsverwaltungssystem und/oder auf dem Build Server
  • Peer-Reviews vor bestimmten Builds
  • Black-Box Tests auf dem Staging-System, angestoßen vom Build Server
  • Statische Code Analyse im QA Gateway
  • Konfigurationsprüfung des Produktivsystems
  • Sicheres Infrastruktur Setup mit Hilfe von Infrastructure-as-a-Code

In sofern zeigt der Vortrag, wie durch Automatisierung sichererer Code geschrieben werden kann.

Janosch Maier

Janosch Maier studierte Informatik (M.Sc.) an der Technischen Universität München sowie Pädagogik (B.A.) in Pädagogik an der Ludwig-Maximilians Universität München. Er hat Berufserfahrung im Start-up Umfeld und entwickeltet ein Cyber Security Dashboard für das niederländische Justizministerium.

Nach dem Studium gründete er die Crashtest Security GmbH, wo er selbst Sicherheitsscanner für Webanwendungen entwickelt. Auf Grund seiner Interdisziplinarität kümmert er sich dort zusätzlich um die Themen Support sowie den technischen Vertrieb.

Janosch hält regelmäßig Vorträge und Workshops um IT Sicherheit in die agile Softwareentwicklung zu tragen und kleineren sowie mittelständischen Firmen Ansatzpunkte zu geben, ihre IT Infrastruktur abzusichern.